<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>文章列表</title>
    <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/iconfont.css">
    <link rel="stylesheet" href="css/main.css">
    <!-- jq -->
    <script src="./libs/jquery-1.12.4.min.js"></script>
    <!-- 模板引擎 -->
    <script src="./libs/template-web.js"></script>

    <!-- 引入日期模板文件  -->
    <script src="./libs/jedate/js/jedate.js"></script>
    <link rel="stylesheet" href="./libs/jedate/css/jeDate-test.css">
    <link rel="stylesheet" href="./libs/jedate/css/jedate.css">

    <!-- 导入富文本插件 -->
    <script src="./libs/wangEditor/wangEditor.js"></script>
</head>

<body>
    <div class="container-fluid">
        <div class="common_title">
            文章编辑
        </div>
        <div class="container-fluid common_con">
            <form class="form-horizontal article_form" id="form">
                <div class="form-group">
                    <label for="inputTitle" class="col-sm-2 control-label">文章标题：</label>
                    <div class="col-sm-10">
                        <input type="text" name="title" class="form-control title" id="inputTitle" value="文章标题文字">
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputCover" class="col-sm-2 control-label">文章封面：</label>
                    <div class="col-sm-10">
                        <img src="images/pic06.jpg" class="article_cover">
                        <input name="cover" type="file" id="inputCover">
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputCategory" class="col-sm-2 control-label">文章类别：</label>
                    <div class="col-sm-4">
                        <select class="form-control category" name="categoryId">
                            <option>类别一</option>
                            <option>类别二</option>
                            <option>类别三</option>
                            <option selected>类别四</option>
                            <option>类别五</option>
                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-2 control-label">发布时间：</label>
                    <div class="col-sm-4">
                        <!-- 日期插件容器 -->
                        <input type="text" class="jeinput" id="testico" name="date" placeholder="YYYY-MM-DD">
                        <div class="icons jebtns"></div>
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputEmail3" class="col-sm-2 control-label">文章内容：</label>
                    <div class="col-sm-10">
                        <!-- 富文本容器 -->
                        <div id="editor">
                            <p>欢迎使用 <b>wangEditor</b> 富文本编辑器</p>
                        </div>
                    </div>
                </div>
                <div class="form-group form-btn">
                    <div class="col-sm-offset-2 col-sm-10">
                        <button type="submit" class="btn btn-success btn-edit">修改</button>
                        <button type="submit" class="btn btn-default btn-draft">存为草稿</button>
                    </div>
                </div>
            </form>
        </div>
    </div>
</body>

</html>
<!-- 
     1. 进入页面时2级菜单显示效果 点击事件 通过parent进入父页面调用点击事件
    2. 设置图片预加载功能
    3. 发起ajax请求并将数据渲染到页面上  通过模板字符串循环遍历获得数据
    4. 日期控件点击事件
    5. 设置富文本插件
    6. 通过网址获取跳转对象id
    7. 通过id获取数据并渲染页面
    8. 封装函数 保存文章数据
    (1) 通过FormData 获取表单数据
    (2) 其他非表单数据通过各自获取数据的方式获取数据并追加到FormData里面
    (2) 发起ajax请求 并跳转回首页和2及菜单的点击效果
    9. 通过点击事件触发封装函数 根据点击按钮的文本值不同来触发不同的效果  
 -->
<script src="./libs/https.js"></script>
<script>
    $(function () {
        // 图片预加载
        $('#inputCover').on('change', function () {
            let imgUrl = URL.createObjectURL(this.files[0]);
            $('.article_cover').attr('src', imgUrl)
        })

        // 发起ajax请求获得类别并渲染到页面上
        $.ajax({
            type: 'get',
            url: BigNew.category_list,
            success: function (backData) {
                // console.log(backData);
                if (backData.code == 200) {
                    let htmlStr = '';
                    // 利用模板字符串循环遍历获得数据
                    $.each(backData.data, function (index, value) {
                        htmlStr += `<option value="${value.id}">${value.name}</option>`
                    })
                    // console.log(htmlStr);
                    // 5. 将生成的结构渲染到指定容器
                    $('.category').html(htmlStr)
                }
            }
        })

        // 6.日期控件点击事件
        $('.jebtns').on('click', function () {
            jeDate(
                "#testico", {
                trigger: false,
                format: 'YYYY/MM/DD hh:mm:ss',
                theme: {
                    bgcolor: "orange",
                    color: "#ffffff",
                    pnColor: "#00CCFF"
                },
                zIndex: 20099,
            }
            )
        })

        // 7. 设置富文本插件
        // const let var: 声明关键字
        // const声明的是常量,不允许修改的变量
        const E = window.wangEditor
        const editor = new E('#editor')
        editor.create()
        // 8.获取id  通过页面跳转后缀名
        let articleId = window.location.search.split('=')[1]
        console.log(articleId);

        // 9. 发起ajax请求,并把数据渲染到页面
        $.ajax({
            type: 'get',
            url: BigNew.article_search,
            data: {
                id: articleId
            },
            success: function (backData) {
                // console.log(backData);
                if (backData.code == 200) {
                    $('.title').val(backData.data.title)
                    $('.category').val(backData.data.categoryId)
                    $('.article_cover').attr('src', backData.data.cover)
                    $('.jeinput').val(backData.data.date)
                    editor.txt.html(backData.data.content)
                }
            }
        })


        function saveData(state) {
            // console.log(state);
            // 获取 formdata数据
            let fd = new FormData(document.querySelector('form'))
            // 把state content数据追加到fd里面
            fd.append('state', state)
            fd.append('content', editor.txt.html())
            fd.append('id', articleId)

            // console.log(fd.get('title'));
            // console.log(fd.get('cover'));
            // console.log(fd.get('categoryId'));
            // console.log(fd.get('date'));
            // console.log(fd.get('state'));
            // console.log(fd.get('content'));

            $.ajax({
                type: 'post',
                url: BigNew.article_edit,
                data: fd,
                contentType: false,
                processData: false,
                success: function (backData) {
                    // console.log(backData);
                    if(backData.code == 200){
                        alert(backData.msg)
                        //跳转到列表页
                        window.location = './article_list.html'
                        // 2级菜单显示
                        parent.$('.level02 li').eq(0).click();
                    }
                }
            })
        }


        // 点击事件调用函数
        $('.form-btn button').on('click', function (e) {
            e.preventDefault()
            let text = $(this).text()
            if (text == '修改') {
                saveData('已发布')
            } else {
                saveData('草稿')
            }
        })

    })
</script>